home *** CD-ROM | disk | FTP | other *** search
- //--------------------------------------------------------------------------------------
- // File: DXUTShared.fx
- //
- //
- //
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //--------------------------------------------------------------------------------------
-
-
- //--------------------------------------------------------------------------------------
- // Global variables
- //--------------------------------------------------------------------------------------
- float4 g_MaterialDiffuseColor; // Material's diffuse color
- float3 g_LightDir; // Light's direction in world space
- float4x4 g_mWorld; // World matrix for object
- float4x4 g_mWorldViewProjection; // World * View * Projection matrix
-
-
-
- //--------------------------------------------------------------------------------------
- // Vertex shader output structure
- //--------------------------------------------------------------------------------------
- struct VS_OUTPUT
- {
- float4 Position : POSITION; // vertex position
- float4 Diffuse : COLOR0; // vertex diffuse color
- };
-
-
- //--------------------------------------------------------------------------------------
- // This shader computes standard transform and lighting
- //--------------------------------------------------------------------------------------
- VS_OUTPUT RenderWith1LightNoTextureVS( float4 vPos : POSITION,
- float3 vNormal : NORMAL )
- {
- VS_OUTPUT Output;
-
- // Transform the position from object space to homogeneous projection space
- Output.Position = mul(vPos, g_mWorldViewProjection);
-
- // Transform the normal from object space to world space
- float3 vNormalWorldSpace;
- vNormalWorldSpace = normalize(mul(vNormal, (float3x3)g_mWorld)); // normal (world space)
-
- // Compute simple directional lighting equation
- Output.Diffuse.rgb = g_MaterialDiffuseColor * max(0,dot(vNormalWorldSpace, g_LightDir));
- Output.Diffuse.a = 1.0f;
-
- return Output;
- }
-
-
- //--------------------------------------------------------------------------------------
- float4 RenderWith1LightNoTexturePS( float4 Diffuse : COLOR0 ) : COLOR0
- {
- return Diffuse;
- }
-
-
- //--------------------------------------------------------------------------------------
- technique RenderWith1LightNoTexture
- {
- pass P0
- {
- VertexShader = compile vs_1_1 RenderWith1LightNoTextureVS();
- PixelShader = compile ps_1_1 RenderWith1LightNoTexturePS();
- }
- }
-
-